home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Source Code / C / Utilities / byacc 1.8.2 / Makefile.unix < prev    next >
Encoding:
Makefile  |  1993-02-04  |  3.4 KB  |  185 lines  |  [TEXT/R*ch]

  1. # where to install program
  2. DEST          = /usr/local/bin
  3.  
  4. # where to install library
  5. LIB_DEST      = /usr/local/lib
  6.  
  7. HDRS          = defs.h
  8.  
  9. # uncomment the next line if your system does not have strrchr()
  10. #RINDEX       = -Dstrrchr=rindex
  11.  
  12. # the name of the final executable
  13. PROGRAM          = byacc
  14.  
  15. LIBRARY       = libby.a
  16.  
  17. RANLIB        = ranlib
  18. #RANLIB        = true
  19.  
  20. # set SIG_TYPE to the type of pointer signal() returns
  21. SIG_TYPE      = void
  22. #SIG_TYPE      = char
  23.  
  24. CPPFLAGS      = $(RINDEX) -DPROGRAM=\"$(PROGRAM)\" -DSIG_TYPE=$(SIG_TYPE)
  25.  
  26. CFLAGS          = -O $(CPPFLAGS)
  27.  
  28. #CC          = gcc -Wall
  29. CPP          = /lib/cpp          
  30.  
  31. LDFLAGS          =
  32.  
  33. LIBS          =
  34.  
  35. LINKER          = $(CC)
  36.  
  37. MAKEFILE      = Makefile
  38.  
  39. OBJS          =            \
  40.         closure.o    \
  41.         error.o        \
  42.         lalr.o        \
  43.         lr0.o        \
  44.         main.o        \
  45.         mkpar.o        \
  46.         output.o    \
  47.         reader.o    \
  48.         skeleton.o    \
  49.         symtab.o    \
  50.         verbose.o    \
  51.         warshall.o
  52.  
  53. LIB_OBJS      = yyerror.o    \
  54.         yymain.o
  55.  
  56. PRINT          = pr -f -l88
  57.  
  58. SRCS          = closure.c    \
  59.         error.c        \
  60.         lalr.c        \
  61.         lr0.c        \
  62.         main.c        \
  63.         mkpar.c        \
  64.         output.c    \
  65.         reader.c    \
  66.         skeleton.c    \
  67.         symtab.c    \
  68.         verbose.c    \
  69.         warshall.c
  70.  
  71. all:        $(PROGRAM) $(PROGRAM).man $(LIBRARY)
  72.  
  73. $(LIBRARY):    $(LIB_OBJS)
  74.         ar rv $(LIBRARY) $(LIB_OBJS)
  75.         $(RANLIB) $(LIBRARY)        
  76.  
  77. $(PROGRAM):     $(OBJS) $(LIBS)
  78.         @echo -n "Loading $(PROGRAM) ... "
  79.         @$(LINKER) $(LDFLAGS) -o $(PROGRAM) $(OBJS) $(LIBS)
  80.         @echo "done"
  81.  
  82. cc_src:
  83.         #load $(RINDEX) -DPROGRAM="$(PROGRAM)" -DSIG_TYPE=$(SIG_TYPE) \
  84.             $(SRCS)
  85.         #link
  86.  
  87. clean:
  88.         rm -f $(OBJS) $(LIB_OBJS) *~ core .purify* purify*
  89.         rm -f $(MAKEFILE).bak
  90.  
  91. clobber:    clean
  92.         rm -f $(PROGRAM) $(LIBRARY)
  93.  
  94. depend:        
  95.         sed -n -e '1,/^### DO NOT DELETE THIS LINE/p' < $(MAKEFILE) \
  96.            | sed -e '/^### DO NOT DELETE THIS LINE/d' > $(MAKEFILE).new
  97.         echo "### DO NOT DELETE THIS LINE - make depend needs it" >> $(MAKEFILE).new
  98.         echo >> $(MAKEFILE).new
  99.         for fl in $(SRCS) $(DEBUG_SRCS) ; \
  100.         do \
  101.            $(CPP) $(CPPFLAGS) -M $$fl | grep -v ': /usr/include/' >> $(MAKEFILE).new ; \
  102.            echo >> $(MAKEFILE).new ; \
  103.         done
  104.         mv $(MAKEFILE) $(MAKEFILE).bak
  105.         mv $(MAKEFILE).new $(MAKEFILE)
  106.  
  107. index:
  108.         @ctags -wx $(HDRS) $(SRCS)
  109.  
  110. install:    $(PROGRAM) $(LIBRARY)
  111.         @echo Installing $(PROGRAM) in $(DEST)
  112.         @install -s $(PROGRAM) $(DEST)
  113.         @echo Installing $(LIBRARY) in $(LIB_DEST)
  114.         @cp $(LIBRARY) $(LIB_DEST)/$(LIBRARY)
  115.         @$(RANLIB) $(LIB_DEST)/$(LIBRARY)
  116.  
  117. library:    $(LIBRARY)
  118.  
  119. listing:
  120.         @$(PRINT) Makefile $(HDRS) $(SRCS) | lpr
  121.  
  122. lint:
  123.         @lint $(CPPFLAGS) $(SRCS)
  124.  
  125. $(PROGRAM).man:    man.page $(MAKEFILE)
  126.         sed -e "s/byacc/$(PROGRAM)/" \
  127.             -e "s/ BYACC/ `echo $(PROGRAM) | tr '[a-z]' '[A-Z]'`/" \
  128.             -e "s?LIB_DEST?$(LIB_DEST)?" \
  129.             -e "s/LIBRARY/$(LIBRARY)/" \
  130.             < man.page > $(PROGRAM).man
  131.  
  132. program:        $(PROGRAM)
  133.  
  134. purify:         $(OBJS) $(LIBS)
  135.         @purify $(LINKER) $(LDFLAGS) -o $(PROGRAM) $(OBJS) $(LIBS)
  136.  
  137. tags:           $(HDRS) $(SRCS)
  138.         @ctags $(HDRS) $(SRCS)
  139.  
  140. tests:        $(PROGRAM)
  141.         -mkdir t
  142.         cp test/*.y test/Makefile t
  143.         (cd t; $(MAKE) PROGRAM=$(PROGRAM))
  144.         diff -r test t
  145.         rm -fr t
  146.  
  147. ### DO NOT DELETE THIS LINE - make depend needs it
  148.  
  149. closure.o: closure.c
  150. closure.o: ./defs.h
  151.  
  152. error.o: error.c
  153. error.o: ./defs.h
  154.  
  155. lalr.o: lalr.c
  156. lalr.o: ./defs.h
  157.  
  158. lr0.o: lr0.c
  159. lr0.o: ./defs.h
  160.  
  161. main.o: main.c
  162. main.o: ./defs.h
  163.  
  164. mkpar.o: mkpar.c
  165. mkpar.o: ./defs.h
  166.  
  167. output.o: output.c
  168. output.o: ./defs.h
  169.  
  170. reader.o: reader.c
  171. reader.o: ./defs.h
  172.  
  173. skeleton.o: skeleton.c
  174. skeleton.o: ./defs.h
  175.  
  176. symtab.o: symtab.c
  177. symtab.o: ./defs.h
  178.  
  179. verbose.o: verbose.c
  180. verbose.o: ./defs.h
  181.  
  182. warshall.o: warshall.c
  183. warshall.o: ./defs.h
  184.  
  185.